package com.ruoyi.waterManagement.mapper;

import com.ruoyi.common.core.domain.business.waterManagement.WrStatvolM;
import com.ruoyi.common.datascope.annotation.DataScope;
import com.ruoyi.waterManagement.domain.vo.NzyWrStatvolMVO;
import com.ruoyi.waterManagement.domain.vo.WaterReportVO;

import java.util.List;

/**
 * 测站月水量数据Mapper接口
 * 
 * @author hwd
 * @date 2023-02-20
 */
public interface WrStatvolMMapper 
{
    /**
     * 查询测站月水量数据
     * 
     * @param statCd 测站月水量数据主键
     * @return 测站月水量数据
     */
    public WrStatvolM selectWrStatvolMByStatCd(String statCd);

    /**
     * 查询测站月水量数据列表
     * 
     * @param wrStatvolM 测站月水量数据
     * @return 测站月水量数据集合
     */
    public List<WrStatvolM> selectWrStatvolMList(WrStatvolM wrStatvolM);

    /**
     * 新增测站月水量数据
     * 
     * @param wrStatvolM 测站月水量数据
     * @return 结果
     */
    public int insertWrStatvolM(WrStatvolM wrStatvolM);

    /**
     * 修改测站月水量数据
     * 
     * @param wrStatvolM 测站月水量数据
     * @return 结果
     */
    public int updateWrStatvolM(WrStatvolM wrStatvolM);

    /**
     * 删除测站月水量数据
     * 
     * @param statCd 测站月水量数据主键
     * @return 结果
     */
    public int deleteWrStatvolMByStatCd(String statCd);

    /**
     * 批量删除测站月水量数据
     * 
     * @param statCds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWrStatvolMByStatCds(String[] statCds);

    /**
     * 查询取用水测站年逐月水量信息列表
     *
     * @param nzyWrStatvolMVO 取用水测站月水量信息
     * @return 取用水测站月水量信息集合
     */
    @DataScope(organAlias = "wob")
    List<NzyWrStatvolMVO> selectNzyWrStatvolMVO(NzyWrStatvolMVO nzyWrStatvolMVO);

    /**
     * 查询水管机构月水量信息列表
     *
     * @param waterReportVO 水管机构月水量
     * @return 水管机构月水量集合
     */
    @DataScope(organAlias = "wob")
    List<WaterReportVO> selectMonthWaterReport(WaterReportVO waterReportVO);
}
